我正在寻找仅匹配有效在线URL的正则表达式。例如:exmaple.comhttp://exmaple.comhttps://exmaple.comwww.exmaple.comhttp://www.example.comhttps://www.example.com以及特殊域和扩展名,例如:t.coexample.dealssh.party等等,但不会匹配所有复杂的东西,如ftp、get查询或URL,如2.3.3.1。我一直在使用'#(www\.|https?://)?[a-z0-9]+\.[a-z0-9]{2,4}\S*#i'但它检测到日期,例如3.3.2017。我需要这个,因为我将
任何人都可以帮助完成我的正则表达式吗?我的字符串格式如下:{p:19}Ja?DumöchtestzurKönigin?{p:20}Hmm...DubistgekommenumdenTitelKriegerinzuerhalten?Verstehe.DasistganzschöntapferfürsoeinejungeDame.DieKöniginwirdsicherauchsehrüberraschtsein.{t:19}Bittesehr,gehdirekthinein.{t:20}TreibeDichhiernichtherum,wennDuhiernichtszusuchenha
在研究PHP中的oop时,我注意到属性声明接受数组作为值,如此处所述PHPdocumentationclassTest{public$var7=array(true,false);}我注意到文档说:Thisdeclarationmayincludeaninitialization,butthisinitializationmustbeaconstantvalue--thatis,itmustbeabletobeevaluatedatcompiletimeandmustnotdependonrun-timeinformationinordertobeevaluated.阅读后this了解
我是正则表达式的初学者,所以如果这是一个幼稚的问题,我提前道歉!我有一个字符串,其中两个值用逗号分隔:12.345678,23.45678901我正在尝试使用正则表达式(这是一项要求)返回第一个带3位小数的值12.345和第二个带2位小数的值23.45。理想情况下,完整的正则表达式匹配为12.345,23.45我可以使用以下正则表达式获得第一个值12.345:^\d+\.\d{0,3}。这很有效,因为它只返回完整的匹配项(没有第1组匹配项)。但我对如何在同一字符串中返回第二个值23.45感到很困惑。我也试过这个正则表达式:(^.{0,6})(?:.*)(,)(.{0,5}),它正确解析
我正在寻找一个合适的正则表达式来匹配一个URL(一个带有方案、域、路径等的完整URL)我通常会使用filter_var但在这种情况下我不能,因为我必须支持PHP我在网上搜索过,但找不到任何我确信会万无一失的东西,而我在SO上所能找到的只是人们说要使用filter_var。有人有用于此的正则表达式吗?我的代码(只是为了让您看到我想要实现的目标):functionvalidate_url($url){if(function_exists('filter_var')){returnfilter_var($url,FILTER_VALIDATE_URL);}returnpreg_match(R
我需要一种方法来获取一段HTML代码并使所有URL成为绝对的。我尝试采用各种正则表达式示例,但没有成功。这些是要求:替换HREF和SRCurl如果URL已经是绝对的,则保留它如果URL是绝对的,替换它每个HTML都来自一个已知的URL(example.com/folder/file.html),可用于创建绝对URL。例如:src="image.png"变成src="http://example.com/folder/image.png"href="/home.html"变成href="http://example.com/home.html"我找到了一个完全符合我需要的功能:http:
我有这样一个字符串:$data='id=1username=foobarcomment=Thisisasamplecomment';我想删除第三个字段中的\n(comment=...)。我有这个正则表达式可以满足我的目的但不是很好:preg_replace('/\bcomment=((.+)\n*)*$/',"comment=$2",$data);我的问题是第二组中的每个匹配项都会覆盖前一个匹配项。因此,而不是有这个:'...comment=Thisisasamplecomment'我最终得到了这个:'...comment=comment'有什么方法可以将中间反向引用存储在正则表达式中
我正在尝试创建一个用于对书名进行排序的字段,该字段会去除前导“A,An,The”并将其附加到逗号和空格之后的强项。因此“TheRoad”将变成“Road,The”听起来很简单,但下面的代码中有些东西会导致IE(没有其他浏览器)吐出一大块乱码。$node_field[0]['value']=preg_replace('/^(A|An|The|a|an|the)(.*)/',"$2\x00,$1",$node->title); 最佳答案 你应该使用更像的东西$node_field[0]['value']=preg_replace('/^
我试过^name&但它不起作用。我如何在hello-my-name-is中找到一个名字 最佳答案 /.name./这两个点表示,每一边至少有一个字符。 关于php-正则表达式在字符串中查找单词,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5762918/
我想要一个正则表达式模式来删除src属性为空的图像,例如:$html='asasassdfsdf';或$html='asasassdfsdf';如果这个存在于之间标签,我还想删除所有(和)。我测试了下面的代码,但是它删除了所有的$htmlechopreg_replace('!(]+)>)?]+)>()?!si','',$html);谁能帮帮我?提前致谢 最佳答案 您的问题可能是通用.*?匹配太多。而是像模式的其他部分那样使用[^>]*:'!(]+>)?]+)src=""([^>]*)>()?!i'